package version

import (
	"lingc/config"
	"lingc/utils"

	"github.com/gin-gonic/gin"
)

func CreateMenu(c *gin.Context) {

	// 创建菜单

	version := utils.GetRedis("version")

	if version != "" {
		if config.Version == version {
			utils.SendJSONResponse(c, 200, gin.H{
				"code": 0,
				"msg":  "版本已经最新",
			})
			return
		}
	}

	switch config.Version {
	case "1":
		// 创建菜单
		pid, err := utils.AddMenuNode("系统管理", "system", "el-icon-setting", 200)
		if err != nil || pid == 0 {
			utils.SendJSONResponse(c, 200, gin.H{
				"code": 0,
				"msg":  "创建菜单失败",
			})
			return
		}
		utils.AddChildNode("管理员", "authUser", pid, 1)
		utils.AddChildNode("角色分组", "authGroup", pid, 2)
		utils.AddChildNode("菜单权限", "authRule", pid, 3)
		utils.AddChildNode("操作日志", "authHandleLog", pid, 4)
		utils.AddChildNode("参数配置", "sysConfig", pid, 5)
		utils.AddChildNode("内容管理", "sysContent", pid, 6)
		utils.AddChildNode("Banner管理", "sysBanner", pid, 7)
		utils.AddChildNode("语言列表", "sysLang", pid, 7)
		utils.AddChildNode("语言条目", "sysLangItem", pid, 7)
		break
	case "2":
		pid, err := utils.AddMenuNode("会员管理", "memberManage", "el-icon-setting", 200)
		if err != nil || pid == 0 {
			utils.SendJSONResponse(c, 200, gin.H{
				"code": 0,
				"msg":  "创建菜单失败",
			})
			return
		}
		utils.AddChildNode("会员列表", "member", pid, 1)
		utils.AddChildNode("会员等级", "memberLevel", pid, 2)
		break
	case "3":
		pid, err := utils.AddMenuNode("客服系统", "customerService", "el-icon-setting", 200)
		if err != nil || pid == 0 {
			utils.SendJSONResponse(c, 200, gin.H{
				"code": 0,
				"msg":  "创建菜单失败",
			})
			return
		}
		utils.AddChildNode("客户列表", "service", pid, 1)
		utils.AddChildNode("自动回复", "autoReply", pid, 2)
		break
	}

}
